🧑💻
문자열 출력하기
February 06, 2024
문제
문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.
제한사항
- 1 ≤
str의 길이 ≤ 1,000,000 str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다.
입출력 예
입력 #1
HelloWorld!출력 #1
HelloWorld!코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
rl.on('line', function (line) {
input = [line];
}).on('close', function () {
str = input[0];
console.log(str);
});JS 문법
readline 모듈
- JS내장된 모듈로 한 줄씩 입출력을 처리할 수 있게 도와준다.
모듈 불러오기
const readline = require('readline');readline interface 객체 만들기
- 정의한 변수를 이용해 readline 인터페이스 객체를 하나 만들어줍니다.
- readline interface 객체를 이용해 콘솔에서 표준 입출력을 처리할 수 있습니다.
- creacteInterface()메서드를 이용해 객체를 만들고, rl 변수에 저장해줍니다.
// createInterface()메서드
const rl = readline.createInterface({
// readline.Interface 인스턴스를 생성함
input: process.stdin, // process.stdin: 입력 스트림
output: process.stdout, // process.stdout: 출력 스트림
});on 메소드
- 생성한 변수 rl 객체로 입출력과 관련된 여러 이벤트 처리를 할 수 있습니다.
- 예를 들어 사용자가 콘솔에 입력을 넣는 것과 같은 이벤트가 있습니다.
- on메소드를 이용하면 이벤트가 발생할 때 실행할 동작을 지정할 수 있습니다.
line 이벤트
- readline interface를 통해 다룰 이벤트는 ‘Line’이벤트로 사용자가 콘솔에 입력을 할 때 발생합니다.
- 입력 이벤트는 입력 스트림에 줄바꿈을 나타내는 \n, \r, \r\n 제어문자가 나타나거나, 사용자가 Enter 또는 Return을 누를 때 발생합니다.
close 이벤트
- ‘close’이벤트는 readable 스트림 종료를 제어하는 이벤트이며, ‘line’이벤트와 비슷한 형태로 작성합니다.
- 더 이상 입력받을 것이 없을 때 rl.close()를 호출하여 발생시킵니다.
- ‘line’이벤트와 함께 아래와 같이 사용됩니다.
rl 변수
rl.on('line', function (line) {
// 입력 부분
input = [line];
}).on('close', function () {
// 출력 부분
str = input[0];
console.log(str);
});코드 해설
입력 부분
- 한줄씩 입력 받은 후 line에 값이 저장된다.
- input 배열에 line을 저장한다.
출력 부분
- input 배열에 저장되어 있는 인덱스 0번을 str이라는 변수에 선언한다.
- console.log 를 통해 str에 저장된 문자열을 출력한다.